﻿
var departCommon = {
		
	setDepart: function () {
	    var provinceDepartId = $('#provinceDepartId').combobox({
	        url:'/department/samePid.do?pid=0',
	        editable:false,
	        valueField:'id',
	        textField:'name',
	        onSelect:function(departTemp){
	            //刷新数据，重新读取省份下的城市，并清空当前输入的值
	            cityId.combobox({
	                disabled:false,
	                url:'/department/samePid.do?pid='+departTemp.id,
	                valueField:'id',
	                textField:'name'
	            }).combobox('clear');
	        }
	    });
	    var cityId = $('#cityId').combobox({
	        disabled:true,
	        url:'/department/samePid.do?pid='+provinceDepartId.val(),
	        valueField:'id',
	        textField:'name'
//	        	,
//	        onSelect:function(departTemp){
//	            //刷新数据，重新读取省份下的城市，并清空当前输入的值
//	        	townId.combobox({
//	                disabled:false,
//	                url:'/department/samePid.do?pid='+departTemp.id,
//	                valueField:'id',
//	                textField:'name'
//	            }).combobox('clear');
//	        }
	    });
//	    var townId = $('#townId').combobox({
//	        disabled:true,
//	        url:'/department/samePid.do?pid='+cityId.val(),
//	        valueField:'id',
//	        textField:'name'
//	    });
    },

    getDepartId: function () {
    	
    	var provinceDepartId = $('#provinceDepartId').combobox("getValue");
        var cityId = $('#cityId').combobox("getValue");
        
//        var townId = $('#townId').combobox("getValue");
        
        var departid=null;
        
//        if(!isEmpty(townId)&&townId != 0){
//     	   departid = townId;
//        }else 
        if(!isEmpty(cityId) && cityId != 0){
     	   departid = cityId;
        }else if(!isEmpty(provinceDepartId) && provinceDepartId != 0){
        	departid = provinceDepartId;
    	}else{
    		departid = null;
    	}
        return departid;
    },

    getDepartName : function () {
    	
    	var provinceDepartId = $('#provinceDepartId').combobox("getText");
    	var cityId = $('#cityId').combobox("getText");
    	
//    	var townId = $('#townId').combobox("getText");
    	var departid=null;
    	
//    	if(!isEmpty(townId)&&townId != 0){
//    		departid = townId;
//    	}else 
    	if(!isEmpty(cityId) && cityId != 0){
    		departid = cityId;
    	}else if(!isEmpty(provinceDepartId) && provinceDepartId != 0){
    		departid = provinceDepartId;
    	}else{
    		departid = "";
    	}
    	return departid;
    },
    
    setSelfDepartId: function () {
    	$.get("/department/myDepart.do", function (data) {
			data = eval('(' + data + ')');
    		if (data == null) {
    			$.messager.show({
    				title: '系统提示',
    				msg: '获取用户部门信息失败！',
    				timeout: 1500
    			});
    		} else {
    			$('#departid').val(data['id']);
    		}
    	});
    }
}


var commonIndicator = {
		
	// setIndicator: function () {
	// 	var indicatorTypeId = $('#indicatorType').combobox({
	// 		url:'/indicator/type/list.do?formsid=1&name=',
	// 		editable:false,
	// 		valueField:'id',
	// 		textField:'name',
	// 		onSelect:function(indicatorType){
	// 			//刷新数据，重新读取该领域下的指标，并清空当前输入的值
	// 			indicatorId.combobox({
	// 				disabled:false,
	// 				url:'/indicator/sameType.do?type='+getValueByVal(indicatorType.id),
	// 				valueField:'id',
	// 				textField:'name'
	// 			}).combobox('clear');
	// 		}
	// 	});
	// 	var indicatorId = $('#indicator').combobox({
	// 		disabled:true,
	// 		url:'/indicator/sameType.do?type='+getValueByVal(indicatorTypeId.val()),
	// 		valueField:'id',
	// 		textField:'name'
	// 	});
	// },
	
	// setIndicatorOnly: function () {
	// 	 $('#indicator').combobox({
	// 		disabled:false,
	// 		url:'/indicator/sameType.do?type='+getValueByVal($('#indicatorType').combobox("getValue")),
	// 		valueField:'id',
	// 		textField:'name'
	// 	}).combobox('clear');
	// }
}

var commonArea = {
		
		setAreaAll: function () {
			var areaPid = $('#areaid').combobox({
				url:'/department/sameArea.do?area=',
				editable:false,
				valueField:'id',
				textField:'name',
				onSelect:function(areaPid){
					//刷新数据，重新读取该领域下的指标，并清空当前输入的值
					areaId.combobox({
						disabled:false,
						url:'/department/sameArea.do?area='+getValueByVal(areaPid.id),
						valueField:'id',
						textField:'name'
					}).combobox('clear');
				}
			});
			var areaId = $('#subAreaId').combobox({
				disabled:true,
				url:'/department/sameArea.do?area='+getValueByVal(areaPid.val()),
				valueField:'id',
				textField:'name'
			});
		},
		
		setAreaOnly: function () {
			$('#subAreaId').combobox({
				disabled:false,
				url:'/department/sameArea.do?area='+getValueByVal($('#areaid').combobox("getValue")),
				valueField:'id',
				textField:'name'
			}).combobox('clear');
		},
		
		setAreaAllSamePid: function () {
			var areaPid = $('#areaid').combobox({
				url:'/area/samePid.do?level=3&pid=2',
				editable:false,
				valueField:'id',
				textField:'name',
				onSelect:function(areaPid){
					//刷新数据，重新读取该领域下的指标，并清空当前输入的值
					areaId.combobox({
						disabled:false,
						url:'/department/sameArea.do?area='+getValueByVal(areaPid.id),
						valueField:'id',
						textField:'name'
					}).combobox('clear');
				}
			});
			var areaId = $('#subAreaId').combobox({
				disabled:true,
				url:'/department/sameArea.do?area='+getValueByVal(areaPid.val()),
				valueField:'id',
				textField:'name'
			});
		}
}

function getValueByVal(value){
	if(value==null||value==""||value==''){
		return 0;
	}else{
		return value;
	}
}




/**
 * 带有复选框的easyui下拉框工具方法
 * @param _id input标签的id
 * @param optionsJson json字符串，定义选项的内容，
 * 例子：
 * [
 * {id: '对应于option标签的value', name: '页面显示文本'}
 * ]
 * @param hight 下拉框高度
 */
function combobox_checkbox(_id, optionsJson, hight) {

	if(optionsJson.length<1){
		return;
	}

	var input = [];
	input = optionsJson;
	var a  = {"id":"", "name":"全选","pid": "0"};
	input.push(a);

	$('#'+_id).combobox({
		data: input,
		valueField: 'id',
		textField: 'name',
		panelHeight: hight,
		multiple: true,
		editable: false,
		formatter: function (row) { // formatter方法就是实现了在每个下拉选项前面增加checkbox框的方法
			var opts = $(this).combobox('options');
			return '<input type="checkbox" class="combobox-checkbox">' + row[opts.textField]
		},
		onLoadSuccess: function () { // 下拉框数据加载成功调用
			// 正常情况下是默认选中“所有”，但我想实现点击所有全选功能，这这样会冲突，暂时默认都不选
			$("#"+_id).combobox('clear'); //清空
			// var opts = $(this).combobox('options');
			// var values = $('#'+_id).combobox('getValues');
			// $.map(opts.data, function (opt) {
			//     if (opt.id === '') { // 将"所有"的复选框勾选
			//         $('#'+opt.domId + ' input[type="checkbox"]').prop("checked", true);
			//     }
			// });
		},
		onSelect: function (row) {// 选中一个选项时调用

			//当点击所有时，则勾中所有的选项
			if (row.name === "全选") {
				var opts = $(this).combobox('options');
				var list = [];
				$.map(opts.data, function (opt) {
					list.push(opt.id);
				});
				$("#"+_id).combobox('setValues', list); // combobox全选

				var target = this;
				var values = $(target).combobox('getValues');
				$.map(values, function (value) {
					var el = opts.finder.getEl(target, value);
					el.find('input.combobox-checkbox')._propAttr('checked', true);
				})

			} else {
				//设置选中选项对应的复选框为选中状态
				var opts = $(this).combobox('options');
				var el = opts.finder.getEl(this, row[opts.valueField]);
				el.find('input.combobox-checkbox')._propAttr('checked', true);
			}
		},
		onUnselect: function (row) { // 取消选中一个选项时调用
			var opts = $(this).combobox('options');
			// 当取消全选勾中时，则取消所有的勾选
			if (row.name === "全选") {

				var opts = $(this).combobox('options');
				var list = [];
				$.map(opts.data, function (opt) {
					list.push(opt.id);
				});
				$("#"+_id).combobox('setValues', list); // combobox全选

				var target = this;
				var values = $(target).combobox('getValues');
				$.map(values, function (value) {
					var el = opts.finder.getEl(target, value);
					el.find('input.combobox-checkbox')._propAttr('checked', false);
				})

				$("#"+_id).combobox('clear');//清空选中项
			} else {
				// 下面是实现全选状态下取消任何一项，则取消勾选所有

				//设置选中选项所对应的复选框为非选中状态
				// $('#'+row.domId + ' input[type="checkbox"]').prop("checked", false);
				var opts = $(this).combobox('options');
				var el = opts.finder.getEl(this, row[opts.valueField]);
				el.find('input.combobox-checkbox')._propAttr('checked', false);
				var selectedList = $("#"+_id).combobox('getValues');
				// // 如果“所有”是选中状态,则将其取消选中
				// if (selectedList[0] === "") {
				// 	// 将“所有”选项移出数组，并且将该项的复选框设为非选中
				// 	selectedList.splice(0, 1);
				// 	$('#'+opts.data[0].domId + ' input[type="checkbox"]').prop("checked", false);
				// }
				$("#"+_id).combobox('clear');//清空
				$("#"+_id).combobox('setValues', selectedList); // 重新复制选中项

			}

		}
	});
}




// /**
//  * 带有复选框的easyui下拉框工具方法
//  * @param _id input标签的id
//  * @param optionsJson json字符串，定义选项的内容，
//  * 例子：
//  * [
//  * {id: '对应于option标签的value', name: '页面显示文本'}
//  * ]
//  * @param hight 下拉框高度
//  */
// function combobox_checkbox(_id, optionsJson, hight) {
//
// 	var input = [];
// 	input = optionsJson;
// 	var a  = {"id":"", "name":"全选","pid": "0"};
// 	input.push(a);
//
// 	// var arr = [];
// 	// arr = optionsJson;
// 	//
// 	// var input = [];
// 	// input.concat(arr);
//
// 	// input.push.apply(optionsJson);
//
// 	var checkbox = [];
// 	$('.checkbox').each(function (a) {
// 		if(this.checked ==true){
// 			checkbox.push(this);
// 		}
// 	})
//
// 	$('#'+_id).combobox({
// 		method : 'GET',
// 		async : false,
// 		editable : false,
// 		valueField : 'id',
// 		textField : 'name',
// 		// multiple:'true', //多选
// 		data: input,
// 		panelHeight: hight,
// 		collapsible: true,
// 		singleSelect : false,// 是否单选
// 		checkOnSelect: true,//选中行后,checkbox选中
// 		selectOnCheck: true,//选中行后,checkbox选中
// 		striped:true,//表格奇偶渐变色
// 		fitColumns: true,
// 		frozen:true,
// 		// rownumbers: isShow,
// 		formatter: function (row) { // formatter方法就是实现了在每个下拉选项前面增加checkbox框的方法
// 			var opts = $(this).combobox('options');
// 			return '<input type="checkbox" class="combobox-checkbox">' + row[opts.textField]
// 		},
// 		onLoadSuccess: function () { // 下拉框数据加载成功调用
// 			// 正常情况下是默认选中“所有”，但我想实现点击所有全选功能，这这样会冲突，暂时默认都不选
// 			$("#"+_id).combobox('clear'); //清空
// 			// var opts = $(this).combobox('options');
// 			// var values = $('#'+_id).combobox('getValues');
// 			// $.map(opts.data, function (opt) {
// 			//     if (opt.id === '') { // 将"所有"的复选框勾选
// 			//         $('#'+opt.domId + ' input[type="checkbox"]').prop("checked", true);
// 			//     }
// 			// });
// 		},
// 		onSelect: function (row) { // 选中一个选项时调用
// 			isCheck.push('check');
// 			var opts = $(this).combobox('options');
// 			//当点击所有时，则勾中所有的选项
// 			if (row.name === "全选") {
// 				var data = $("#"+_id).combobox('getData');
// 				for (var i = 0; i < data.length; i++) {
// 					$('#'+data[i].domId + ' input[type="checkbox" ]').prop("checked", true);
// 				}
// 				var list = [];
// 				$.map(opts.data, function (opt) {
// 					list.push(opt.id);
// 				});
// 				$("#"+_id).combobox('setValues', list); // combobox全选
// 			} else {
// 				//设置选中选项所对应的复选框为选中状态
// 				$('#'+row.domId + ' input[type="checkbox"]').prop("checked", true);
// 			}
// 		},
// 		onUnselect: function (row) { // 取消选中一个选项时调用
// 			isCheck.push('check');
// 			var opts = $(this).combobox('options');
// 			// 当取消全选勾中时，则取消所有的勾选
// 			if (row.name === "全选") {
// 				var a = $("#"+_id).combobox('getData');
// 				for (var i = 0; i < a.length; i++) {
// 					$('#'+a[i].domId + ' input[type="checkbox"]').prop("checked", false);
// 				}
// 				$("#"+_id).combobox('clear');//清空选中项
// 			} else {
// 				// 下面是实现全选状态下取消任何一项，则取消勾选所有
//
// 				//设置选中选项所对应的复选框为非选中状态
// 				$('#'+row.domId + ' input[type="checkbox"]').prop("checked", false);
// 				var selectedList = $("#"+_id).combobox('getValues');
// 				// 如果“所有”是选中状态,则将其取消选中
// 				if (selectedList[0] === "") {
// 					// 将“所有”选项移出数组，并且将该项的复选框设为非选中
// 					selectedList.splice(0, 1);
// 					$('#'+opts.data[0].domId + ' input[type="checkbox"]').prop("checked", false);
// 				}
// 				$("#"+_id).combobox('clear');//清空
// 				$("#"+_id).combobox('setValues', selectedList); // 重新复制选中项
//
// 			}
//
// 		}
// 	});
// }

